﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp;
using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.MultiTenancy;

namespace SanJ.FreeCare.Schedules
{
    public class ScheduleWorkTime : AuditedAggregateRoot<Guid>, IMultiTenant, ISoftDelete
    {
        /// <summary>
        /// 有效性
        /// </summary>
        public string IsVaild { get; set; }

        /// <summary>
        /// 号类：普通、专家、急诊、义诊、免费
        /// </summary>
        public string? CategoryCode { get; set; }

        /// <summary>
        /// 时间段名字
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 开始时间
        /// </summary>
        public string? StartTime { get; set; }

        /// <summary>
        /// 终止时间
        /// </summary>
        public string? EndTime { get; set; }

        /// <summary>
        /// 终止时间
        /// </summary>
        public string? DefaultTime { get; set; }

        /// <summary>
        /// 提前时间
        /// </summary>
        public string? EarlyTime { get; set; }

        /// <summary>
        /// 预留时间
        /// </summary>
        public string? ReserveTime { get; set; }

        /// <summary>
        /// 休息时间集合
        /// </summary>
        public List<RestTime> RestTime { get; set; }

        public Guid? TenantId { get; set; }

        public bool IsDeleted { get; set; }
    }

    public class RestTime
    {
        /// <summary>
        /// 休息开始时间
        /// </summary>
        public string? RestStartTime { get; set; }

        /// <summary>
        /// 休息结束时间
        /// </summary>
        public string? RestEndTime { get; set; }
    }
}
